CREATE OR REPLACE PACKAGE "kesplus_platform"."covert_utils" AUTHID CURRENT_USER AS
    FUNCTION hex2bigint(s TEXT) RETURNS BIGINT;
    FUNCTION to_unix_timestamp(ts timestamp) RETURNS bigint;
    FUNCTION to_unix_timestamp(ts timestamp with time zone) RETURNS bigint;
    FUNCTION sha256(s text) RETURNS text;
    FUNCTION date2text(d DATE) RETURNS text;
    FUNCTION datetime2text(d DATETIME) RETURNS text;
    FUNCTION timestamp2text(t TIMESTAMP WITH TIME ZONE, with_tz BOOLEAN DEFAULT TRUE) RETURNS text;
END;

CREATE OR REPLACE PACKAGE BODY "kesplus_platform"."covert_utils" AS WRAPPED
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
1ccBh/K+ay4qsf2FOa39Sff6PdaAXCEdOSa4KPI=
END;

